import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
// 导入其它模块的 vuex 数据
import app from './modules/app' // 处理了菜单折叠展开状态数据持久化 (vuex + cookie)
import settings from './modules/settings' // 菜单头部固定和 logo 数据状态的管理
import user from './modules/user' // 用户登录相关数据在这里管理 (开发需要使用)
// 注册vuex
Vue.use(Vuex)

// 初始化vuex => 得到一个vuex实例
const store = new Vuex.Store({
  // 挂载子模块
  modules: {
    app,
    settings,
    user
  },
  // 快捷方式 => 方便获取子模块的 state 数据
  getters
})
/**
 * 导出store实例的目的：
 * 1. 可以在其它模块js文件中导入 => 获取 states数据、调用action => 发送后台请求等
 * 2. 在 main.js 导入 store 挂载
 */
export default store
